package cn.e4j.modular.crm.mapper;

import cn.e4j.core.dto.impl.Dto;
import cn.e4j.modular.crm.entity.GwecT;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  发货通知单 Mapper 接口
 * </p>
 *
 * @author miaoyl
 * @since 2019-03-07
 */
public interface GwecTMapper extends BaseMapper<GwecT> {

    /**
     * 查询信息列表
     */
    List<Map<String, Object>> getListPage(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 查询订单列表
     */
    List<Map<String, Object>> getCOPTCList(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 查询销货单当天最大单号
     */
    Dto getMaxTG002(@Param("mlegal") String mlegal, @Param("sys_time") String sys_time);

    /**
     * 查询ERP订单信息
     */
    Dto getCOPTC(@Param("mlegal") String mlegal, @Param("TC002") String TC002, @Param("TD003") String TD003);

    /**
     * 查询产品信息
     */
    Dto getGwam(@Param("ent") String ent, @Param("GWAM001") String GWAM001);

    /**
     * 查询销货单单身信息汇总
     */
    Dto getCOPTHSum(@Param("mlegal") String mlegal, @Param("TH002") String TH002);

    /**
     *  销货单单身COPTH插入数据
     */
    void insertCOPTH(@Param("dto") Dto dto);

    /**
     *  销货单单头COPTG插入数据
     */
    void insertCOPTG(@Param("dto") Dto dto);

    /**
     * 查询应收日期
     */
    Dto getCMSNA(@Param("mlegal") String mlegal, @Param("TG003") String TG003, @Param("NA002") String NA002);

    /**
     * 删除发货单单身
     */
    void delCOPTH(@Param("mlegal") String mlegal, @Param("TG003") String TG003);

    Dto getMD003(@Param("mlegal") String mlegal, @Param("MD001") String MD001, @Param("MD002") String MD002);

    /**
     * 查询erp库存量不足的数据
     */
    List<Dto> getFreeData(@Param("dto") Dto dto);
}
